Avoid memory corruption in the color_properties hashtable.
authorPaolo Borelli <pborelli@gnome.org>
Sun, 5 Dec 2010 11:30:28 +0000 (12:30 +0100)
committerPaolo Borelli <pborelli@gnome.org>
Sun, 5 Dec 2010 11:30:28 +0000 (12:30 +0100)
gtk/gtkmodifierstyle.c

index 48a4f21f6e64e4bbb2076a5de4678a210adfd9ae..2cbee61b39cdd62350505c48a82a2082ec6285b2 100644 (file)
@@ -282,11 +282,15 @@ gtk_modifier_style_set_color_property (GtkModifierStyle *style,
     }
 
   if (color)
-    g_hash_table_insert (priv->color_properties, str,
-                         gdk_rgba_copy (color));
+    {
+      g_hash_table_insert (priv->color_properties, str,
+                           gdk_rgba_copy (color));
+    }
   else
-    g_hash_table_remove (priv->color_properties, str);
+    {
+      g_hash_table_remove (priv->color_properties, str);
+      g_free (str);
+    }
 
   g_signal_emit (style, signals[CHANGED], 0);
-  g_free (str);
 }